package org.BUPT.Service;

import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.util.UUID;

@Service
public class FileUploader {

    public String uploadImage(MultipartFile image) throws Exception{
//        //生成uuid作为文件名称
        String uuid = UUID.randomUUID().toString().replaceAll("-", "");
//        获得文件类型，如果不是图片，禁止上传
        String contentType = image.getContentType();
        //获得文件的后缀名
        String suffixName = contentType.substring(contentType.indexOf("/")+1);
        //得到文件名
        String imageName = uuid+"."+suffixName;
        //获取文件夹路径
        String direPath = "image";
        File direFile = new File(direPath);
        //文件夹如果不存在，新建文件夹
        if(direFile.exists() == false || direFile.isDirectory() == false){
            direFile.mkdir();
        }
        //得到文件路径

        // transferTo需要使用绝对路径
        String path =
                "E:/gp/"+direPath+"/"+imageName;

        image.transferTo(new File(path));
        // 传回去的uri实际上应当是在application.properties或WebConfig里确定的参数
        return "/"+direPath+"/"+imageName;
    }
}
